<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>

<body>

</body>
<script type="text/javascript">
  // 一个游戏，前20关是每一关自身的分数，21-30关每一关是10分；31-40关每一关是20分；41-49关每一关是30分,50关是100分。输入你现在闯到的关卡数，求你现在拥有的分数
  /* 
    闯过第15关  分数为 1到15的和
    闯过第20关  分数为 1到20的和
    闯过第21关  分数为 1到20的和 加上10
    闯过第22关  分数为 1到20的和 加上10 加上10
    闯过第31关  分数为 1到20的和 加上10*10 加上 20
    闯过第32关  分数为 1到20的和 加上10*10 加上 20 加上 20
  */
  // 定义一个函数，输入1~50的数字，表示闯过的关数，返回最终得分

  function getScore(n) {
    // 1.判断用户是否输入
    // 注意：prompt输入框点击取消返回null  typeof null = 'object'
    if (typeof n === 'object') return '您还没有输入哦';
    // if (n === null) return '您还没有输入哦';

    // 2.判断是否是数字
    if (isNaN(n)) return '不是数字不能求分数';

    // 3.转为数值类型，判断关数是否在1~50的范围内
    n = Number(n);
    if (n < 1 || n > 50) return '关数输入错误(1~50)';

    // 4.根据输入的关数求分数
    let scores = 0;
    for (let i = 1; i <= n; i++) {
      if (i <= 20) {
        scores += i;
      }
      // 21~30 每关10分
      if (i > 20 && i <= 30) scores += 10;
      // 31~40 每关20分
      if (i > 30 && i <= 40) scores += 20;
      // 41~49 每关30分
      if (i > 40 && i <= 49) scores += 30;
      if (i === 50) scores += 100;
    }
    return '您所获得的分数为：' + scores;
  }

  let num = prompt('请输入您闯过的关数(1~50):');
  let result = getScore(num);
  alert(result);
</script>


</html>